const {app} = require('../db-Server/Mysql_Cont')
const fs11 =require('fs')
class base {
    static suf(base64data) {
        const baseData = base64data.replace(/^data:image\/\w+;base64,/, "");
        var dataBuffer = new Buffer(baseData, 'base64');
        let [m,] = base64data.split(',');
        let [, s] = m.split('/');
        let suffix = s.substring(0, s.length - 7)
        return {
            base: dataBuffer,
            suffix
        }
    }
    static getbase64(basedata, cb) {
        const { base, suffix } = this.suf(basedata);
        fs11.writeFile(`${new Date().getTime()}.${suffix}`, base, function (err) {
            cb(err)
        });
    }
}

app.post('/imges', function (req, res) {
    let imgdata = req.body.city;
    if (typeof imgdata === 'string') {
        base.getbase64(imgdata, (e) => {
            if (e) {
                res.send(e);
            } else {
                res.send({ statusCode: 200, data: 'ok' });
            }
        })

    } else if (typeof imgdata === 'object') {
        for (let i = 0; i < imgdata.length; i++) {
            base.getbase64(imgdata[i].url, (e) => {
                if (e) {
                    res.send(e);
                } else {
                    res.send({ statusCode: 200, data: 'ok' });
                }
            })

        }
    }
});


// app.post('/imgeblob', function (req, res) {

//     // console.log(res)

//     res.setHeader("Access-Control-Allow-Origin", "*");
//     let imgdata = req.body.city;


//     console.log(imgdata)
//     if (typeof imgdata === 'string') {

//         fs11.writeFile(`${new Date().getTime()}.jpeg`, imgdata, function (err) {

//             if (err) {

//                 res.send(err);

//             } else {

//                 res.send("保存成功！");

//             }

//         });

//         // base.getbase64(imgdata, (e) => {
//         //     if (e) {
//         //         res.send(e);
//         //     } else {
//         //         res.send({ statusCode: 200, data: 'ok' });
//         //     }
//         // })

//     } else if (typeof imgdata === 'object') {
//         // for (let i = 0; i < imgdata.length; i++) {
//         //     base.getbase64(imgdata[i].url,(e)=>{
//         //         if(e){
//         //          res.send(e);
//         //         }else{
//         //          res.send({statusCode:200,data:'ok'});
//         //         }
//         //      })
//         // }
//     }
// });



let fs2 = require('fs');
 
// //12 管道流来读取写入
// // 创建一个可读流
// var readerStream = fs.createReadStream('./package.json');
// // 创建一个可写流
// var writerStream = fs.createWriteStream('./package22.json');
// // 管道读写操作
// // 读取 package.json 文件内容，并将内容写入到 package22.json 文件中
// readerStream.pipe(writerStream);


app.post('/imgeblob', function (req, res) {

    if(req.method==='OPTIONS'){
        res.setHeader("Access-Control-Allow-Origin", "*");
        res.statusCode=200;
    }
if(req.method==='POST'){
    req.body.city
    // 存储数组空间
    let msg=[];
    // 接收到数据消息
    req.on('data',(chunk)=>{
      if(chunk){
        msg.push(chunk);
      }
    })
    // 接收完毕
    req.on('end',()=>{
      // 对buffer数组阵列列表进行buffer合并返回一个Buffer
      let buf=Buffer.concat(msg);
    //提取Buffer正确
    console.log(buf.toString())
    // console.log(buf)

    fs11.writeFile('./try4.png', buf, function(err) {
        if (err) {
            throw err;
        }
     
        // 写入成功后读取测试
        fs11.readFile('./try4.txt', 'utf-8', function(err, data) {
            if (err) {
                throw err;
            }
            console.log(data);
        });
    });


    })                  
}
})


// app.post('/imgeblob', function (req, res) {

//     if(req.method==='OPTIONS'){
//         res.setHeader("Access-Control-Allow-Origin", "*");
//         res.statusCode=200;
//     }
// if(req.method==='POST'){
//     req.body.city
//     // 存储数组空间
//     let msg=[];
//     // 接收到数据消息
//     req.on('data',(chunk)=>{
//       if(chunk){
//         msg.push(chunk);
//       }
//     })
//     // 接收完毕
//     req.on('end',()=>{
//       // 对buffer数组阵列列表进行buffer合并返回一个Buffer
//       let buf=Buffer.concat(msg);
//     //提取Buffer正确
//     console.log(buf.toString())
//     // console.log(buf)

//     fs2.writeFile(buf, 'kkkkk.png',  function(err) {
//         if (err) {
//             return console.error(err)
//         }
//         console.log("数据写入成功！");
     
//      });

//     })                  
// }
// })